﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000B2B RID: 2859
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Mission : IMessage<Mission>, IMessage, IEquatable<Mission>, IDeepCloneable<Mission>, IBufferMessage
	{
		// Token: 0x17002417 RID: 9239
		// (get) Token: 0x06007FE8 RID: 32744 RVA: 0x001555BD File Offset: 0x001537BD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Mission> Parser
		{
			get
			{
				return Mission._parser;
			}
		}

		// Token: 0x17002418 RID: 9240
		// (get) Token: 0x06007FE9 RID: 32745 RVA: 0x001555C4 File Offset: 0x001537C4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MissionReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002419 RID: 9241
		// (get) Token: 0x06007FEA RID: 32746 RVA: 0x001555D6 File Offset: 0x001537D6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Mission.Descriptor;
			}
		}

		// Token: 0x06007FEB RID: 32747 RVA: 0x001555DD File Offset: 0x001537DD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Mission()
		{
		}

		// Token: 0x06007FEC RID: 32748 RVA: 0x001555E5 File Offset: 0x001537E5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Mission(Mission other) : this()
		{
			this.status_ = other.status_;
			this.id_ = other.id_;
			this.progress_ = other.progress_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06007FED RID: 32749 RVA: 0x00155622 File Offset: 0x00153822
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Mission Clone()
		{
			return new Mission(this);
		}

		// Token: 0x1700241A RID: 9242
		// (get) Token: 0x06007FEE RID: 32750 RVA: 0x0015562A File Offset: 0x0015382A
		// (set) Token: 0x06007FEF RID: 32751 RVA: 0x00155632 File Offset: 0x00153832
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MissionStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x1700241B RID: 9243
		// (get) Token: 0x06007FF0 RID: 32752 RVA: 0x0015563B File Offset: 0x0015383B
		// (set) Token: 0x06007FF1 RID: 32753 RVA: 0x00155643 File Offset: 0x00153843
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Id
		{
			get
			{
				return this.id_;
			}
			set
			{
				this.id_ = value;
			}
		}

		// Token: 0x1700241C RID: 9244
		// (get) Token: 0x06007FF2 RID: 32754 RVA: 0x0015564C File Offset: 0x0015384C
		// (set) Token: 0x06007FF3 RID: 32755 RVA: 0x00155654 File Offset: 0x00153854
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Progress
		{
			get
			{
				return this.progress_;
			}
			set
			{
				this.progress_ = value;
			}
		}

		// Token: 0x06007FF4 RID: 32756 RVA: 0x0015565D File Offset: 0x0015385D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Mission);
		}

		// Token: 0x06007FF5 RID: 32757 RVA: 0x0015566C File Offset: 0x0015386C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Mission other)
		{
			return other != null && (other == this || (this.Status == other.Status && this.Id == other.Id && this.Progress == other.Progress && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06007FF6 RID: 32758 RVA: 0x001556C8 File Offset: 0x001538C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Status != MissionStatus.MissionNone)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.Id != 0U)
			{
				num ^= this.Id.GetHashCode();
			}
			if (this.Progress != 0U)
			{
				num ^= this.Progress.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06007FF7 RID: 32759 RVA: 0x0015573F File Offset: 0x0015393F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06007FF8 RID: 32760 RVA: 0x00155747 File Offset: 0x00153947
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06007FF9 RID: 32761 RVA: 0x00155750 File Offset: 0x00153950
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Progress != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.Progress);
			}
			if (this.Status != MissionStatus.MissionNone)
			{
				output.WriteRawTag(48);
				output.WriteEnum((int)this.Status);
			}
			if (this.Id != 0U)
			{
				output.WriteRawTag(104);
				output.WriteUInt32(this.Id);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06007FFA RID: 32762 RVA: 0x001557C8 File Offset: 0x001539C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Status != MissionStatus.MissionNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.Id != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Id);
			}
			if (this.Progress != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Progress);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06007FFB RID: 32763 RVA: 0x00155838 File Offset: 0x00153A38
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Mission other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Status != MissionStatus.MissionNone)
			{
				this.Status = other.Status;
			}
			if (other.Id != 0U)
			{
				this.Id = other.Id;
			}
			if (other.Progress != 0U)
			{
				this.Progress = other.Progress;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06007FFC RID: 32764 RVA: 0x0015589C File Offset: 0x00153A9C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06007FFD RID: 32765 RVA: 0x001558A8 File Offset: 0x00153AA8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 40U)
				{
					if (num != 48U)
					{
						if (num != 104U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.Id = input.ReadUInt32();
						}
					}
					else
					{
						this.Status = (MissionStatus)input.ReadEnum();
					}
				}
				else
				{
					this.Progress = input.ReadUInt32();
				}
			}
		}

		// Token: 0x040030F2 RID: 12530
		private static readonly MessageParser<Mission> _parser = new MessageParser<Mission>(() => new Mission());

		// Token: 0x040030F3 RID: 12531
		private UnknownFieldSet _unknownFields;

		// Token: 0x040030F4 RID: 12532
		public const int StatusFieldNumber = 6;

		// Token: 0x040030F5 RID: 12533
		private MissionStatus status_;

		// Token: 0x040030F6 RID: 12534
		public const int IdFieldNumber = 13;

		// Token: 0x040030F7 RID: 12535
		private uint id_;

		// Token: 0x040030F8 RID: 12536
		public const int ProgressFieldNumber = 5;

		// Token: 0x040030F9 RID: 12537
		private uint progress_;
	}
}
